The invention relates generally to a method of synthesizing image texture in the area of computer graphics. More particularly, the invention provides a block-based texture synthesis method to synthesize surface texture of an image of an object rendered by a computer system.
Computer rendered images are more realistic in appearance if the object surface in the image has texture. Important emerging applications, where synthetic texture can make a significant contribution, include website design, artistic design, and texture based design, etc. Most notably, real-time texture synthesizing is particularly in demand for the use in computer-rendering images for animation, games, and virtual reality.
One of the primary goals of synthetic texture generation is to generate a new, larger-sized, and seamless texture, which has visual features similar to an image texture sample. It is well-known that simply tiling or repeating the image texture sample does not achieve this goal because the tiled or repeated texture can lead to unacceptable artifacts such as visible seams between tiles, visible repetition of the image texture sample, or both.
In the past, various techniques have been developed for image texture synthesis, for example, fractal, statistical, reaction-diffusion, Markov, pyramid-based, and hybrid techniques. To date the pyramid-based image texture synthesis has been the most successful in capturing the characteristics of image texture. However, these techniques define the image texture features based on pixels. Accordingly, these techniques work very slowly, and the input sample textures are limited. To be effective, a texture synthesis technique should be efficient enough and fast enough to operate in real-time so that images may be textured on-the-fly as they are rendered.
It is with respect to these and other considerations that the present invention has been made.
In accordance with this invention, the above and other problems were solved by synthesizing a large image texture from the textural appearance of an image texture sample by randomly overlaying the image texture samples to create a synthesized image texture in a desired image area. In one aspect of the invention the image texture sample is tiled, and image blocks within each tile are randomly overlaid in new positions in the tile to prevent the appearance of artifacts in an array of the tiles. An image texture sample is loaded in an image-based synthesizing system and tiled to create an image texture tile array. Image blocks within each tile of the image texture tile array are randomized to synthesize an image texture similar to the texture of the image texture sample while preventing the creation of artifacts in the image texture. The randomization of image blocks in each tile begins by selecting blocks of pixels in the image texture sample. The selected blocks are placed or pasted over the image texture in new locations in each tile different from the original locations of the blocks in the image texture sample. This new location is calculated by a chaos transformation; the new location is a random location but not a discretionary random location. New location and random location may be used interchangeably herein and should be understood as above. The random placement of blocks to a new location is different for each tile.
The image texture sample is the background texture for each tile, and the selected blocks are foreground texture that overlays and replaces the background texture where the selected blocks are placed. Placing the blocks in random locations in each tile is accomplished, for example, with the xe2x80x9cCat Mapxe2x80x9d transform based on a chaos model. The Cat Map transform with a chaos model with strongly irregular motion and ergodicity, is described in an article presented by V. I. Arnold and A. Avez, xe2x80x9cErgodic Problems of Classical Mechanicsxe2x80x9d published by W. A. Benjamin, Inc., New York in 1968. Any discrete randomization transform model may be used.
In another feature of the invention the selection of blocks within the image texture sample is different for each tile. Each block is selected based on image characteristics, or primary visual features, such as shape, size, color, and continuity of the image texture, within the tile or sample and based upon characteristics or features of tiles surrounding the tile. A block may contain any portion of a primary visual feature.
Another feature of the invention is that chaos levels can be selected and configured by a user before transformation. With a pre-selected chaos level, a chaos model transforms a matrix of the selected blocks of image texture by placing or pasting the blocks or samples of image texture in different locations of the tiled image texture to achieve a desired image texture.
The invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
An advantage of the present invention is that the texture that is synthesized by the present invention does not present artifacts either in the form of visible seams, visible repetition of the image texture sample, or both.
Another advantage of the present invention is that it renders an image that has similar textural appearance and structural features as the image texture sample. The rendered image holds the continuity of textel properties, for example, the shape, size, and color, by using the Cat Map transformations to replace the textel location.
A further advantage of the present invention is that the present synthesis method is based on blocks of image texture, not pixels of image texture, thereby significantly increasing the speed of synthesis. Thus, the present invention allows a real time image texture synthesis which is particularly useful for internet-based rendering, animation, electronic games, and virtual reality applications.
These and various other features as well as advantages which characterize the present invention will be apparent from a reading of the following detailed description and a review of the associated drawings.